SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE dbo.GrabarLocalidadesRestantes @inscE as int,@tipoConvocatoria as int
 
AS
SET NOCOUNT ON
--declare @inscF as int,@agenteF as int,@CargoF as int,@AsignaturaF as int,  @locF as int
--declare @idinscE as int -- id inscripcion equivalente

declare @inscF as int
declare @pje as float,@tv as int,@ct as int,@prom as float,@te as varchar(1),@tr as varchar(1)

declare @Ag as int,@cg as int,@asg as int,@conv as int

select @ag=Agente,@cg=Cargogenerico,@asg=Asignaturagenerica,@conv=convocatoria from tb_InscripcionesConvocatorias where idinscripcionconvocatoria=@inscE

-- BUSCO LOS DATOS DE LA INSCRIPCION MINIMA PARA ACTUALIZARLOS EN LA  tabla de inscripciones
select @pje=isnull( C.puntaje,0),@tv=isnull(titulovalorado,0),@ct=isnull(categoriadetitulo,0),@prom=isnull(promediotitulo,0),@te=isnull(TituloEspecifico,'N'),@tr=isnull(tituloRegistrado,'N')
from tb_InscripcionesConvocatorias I JOIN TB_CALIFICACIONESDEINSCRIPCION C ON I.IDINSCRIPCIONCONVOCATORIA=C.INSCRIPCION AND concepto=case  when @tipoconvocatoria =1 then 234  when @tipoconvocatoria =2 then 329 when @tipoconvocatoria =3 then 632  when @tipoconvocatoria =9 then 579 when @tipoconvocatoria =11 then 653 end
where idinscripcionconvocatoria = @inscE	

print 'Hola'
print 'tetas x/   ' + cast(@inscE as varchar )

--actualizo los datos en la inscripcion minima
print 'actualizo los datos en la inscripcion faltante'
update tb_inscripcionesconvocatorias set puntaje=@pje, titulovalorado=@tv,categoriadetitulo = @ct, promediotitulo=@prom,tituloespecifico=@te,tituloregistrado=@tr,fecha9=getdate()
where  idInscripcionConvocatoria=@inscE	


DECLARE X CURSOR FORWARD_ONLY FOR
	
	select distinct ic.idinscripcionconvocatoria
	from tb_InscripcionesConvocatorias ic 
		join tb_InscripcionesConvocatorias ic2 on ic.agente=ic2.agente and ic.cargogenerico=ic2.cargogenerico and ic.asignaturagenerica=ic2.asignaturagenerica
	where  ic.agente = @ag and ic.cargogenerico=@cg and ic.asignaturagenerica=@asg and ic.convocatoria=@conv  and ic.IdInscripcionConvocatoria <> @inscE
--		not in (select Inscripcion from tb_CalificacionesDeInscripcion)

OPEN X

	FETCH NEXT FROM X INTO @inscF

	WHILE @@FETCH_STATUS = 0 BEGIN
		--agrego las calificaciones para la inscripcion equivalente
		print 'agrego las calificaciones para la inscripcion equivalente'
		print 'inscrip faltante: ' + cast(@inscF as varchar) +'inscrip Equiv: ' + cast(@inscE as varchar)
		INSERT INTO [SageNET].[dbo].[tb_CalificacionesDeInscripcion]([Inscripcion], [Concepto], [Puntaje])

----------OJO MODIFICADO 25/08/2006 
-- antes estaba sin distinct		select @inscF,concepto,puntaje from tb_calificacionesdeinscripcion
-- creo que con el distinct que le agregue se tendría que haber solucionado 
                        select distinct @inscF,concepto,puntaje from tb_calificacionesdeinscripcion where inscripcion=@inscE
		
		-- BUSCO LOS DATOS YA CALCULADOS DE LA INSCRIPCION MINIMA PARA ACTUALIZARLOS EN LAS INSCRIPCIONES CORRESPONDIENTES A LAS OTRAS LOCALIDADES
		select @pje=isnull( C.puntaje,0),@tv=isnull(titulovalorado,0),@ct=isnull(categoriadetitulo,0),@prom=isnull(promediotitulo,0),@te=isnull(TituloEspecifico,'N'),@tr=isnull(tituloRegistrado,'N')
		from tb_InscripcionesConvocatorias I JOIN TB_CALIFICACIONESDEINSCRIPCION C ON I.IDINSCRIPCIONCONVOCATORIA=C.INSCRIPCION AND CONCEPTO=case  when @tipoconvocatoria =1 then 234  when @tipoconvocatoria =2 then 329 when @tipoconvocatoria =3 then 632 when @tipoconvocatoria =9 then 579 when @tipoconvocatoria =11 then 653 end
		where idinscripcionconvocatoria = @inscE	
			

		--actualizo los datos en la inscripcion faltante
		print 'actualizo los datos en la inscripcion faltante'
		update tb_inscripcionesconvocatorias set puntaje=@pje, titulovalorado=@tv,categoriadetitulo = @ct, promediotitulo=@prom,tituloespecifico=@te,tituloregistrado=@tr
		where  idInscripcionConvocatoria=@inscf
	
	FETCH NEXT FROM X INTO @inscF

	end

CLOSE X
DEALLOCATE X
GO
